home *** CD-ROM | disk | FTP | other *** search
- /* itoab.c - integer to ASCII based conversion.
- K & R page 60, using pointers, including reverse.
- Entered - G. R. Mansfield. 84/06/06.
- Ver 1.0-4729.
- */
-
- itoab(n, s, b) /* convert n to characters in s using base b */
- char *s;
- unsigned b, n;
- {
- char c, *p;
- int i;
-
- p = s;
- do { /* generate digits in reverse order */
- i = n % b; /* get next digit */
- *p++ = (i >= 10) ? i + ('A' - 10) : i + '0';
- }
- while ((n /= b) > 0); /* delete it */
- *p = '\0';
- while (p > s) { /* reverse string */
- c = *s;
- *s++ = *--p;
- *p = c;
- }
- }
-